////#pragma comment(linker,"/STACK:16777216") /*16Mb*/
////#pragma comment(linker,"/STACK:33554432") /*32Mb*/
//#define _CRT_SECURE_NO_DEPRECATE
//#include<sstream>
//#include<iostream>
//#include<numeric>
//#include<sstream>
//#include<cstdio>
//#include<cstdlib>
//#include<cmath>
//#include<memory>
//#include<string>
//#include<vector>
//#include<cctype>
//#include<list>
//#include<queue>
//#include<deque>
//#include<stack>
//#include<map>
//#include<set>
//#include<algorithm>
//using namespace std;
//
//typedef unsigned long long      ui64;
//typedef long long               i64;
//typedef	vector<int>             VI;
//typedef	vector<bool>            VB;
//typedef	vector<VI>              VVI;
//typedef	vector<string>          VS;
//typedef	pair<int,int>           PII;
//typedef map<string,int>         MSI;
//typedef set<int>                SI;
//typedef set<string>             SS;
//typedef map<int,int>            MII;
//typedef	pair<double,double>     PDD;
//
//#define PB                      push_back
//#define MP                      make_pair
//#define X                       first
//#define Y                       second
//#define FOR(i, a, b)            for(int i = (a); i < (b); ++i)
//#define RFOR(i, a, b)           for(int i = (a) - 1; i >= (b); --i)
//#define CLEAR(a, b)             memset(a, b, sizeof(a))
//#define SZ(a)                   int((a).size())
//#define ALL(a)                  (a).begin(), (a).end()
//#define RALL(a)                 (a).rbegin(), (a).rend()
//#define INF                     (2000000000)
//
//#ifdef _DEBUG
//#define eprintf(...) fprintf (stderr, __VA_ARGS__)
//#else
//#define eprintf(...) assert (true)
//#endif
//
//int main()
//{
//	int n;
//	cin >> n;
//	vector<i64> res(n,0.0);
//	vector<int> Count(n,0);
//	FOR(i,0,(1<<n)-1) {
//		vector<int> who(n);
//		int k = 0;
//		FOR(j,0,n) {
//			if( i & (1<<j) ) {
//				who[j] = 1;
//				k++;
//			}
//		}
//		FOR(i,0,n)
//			cout << who[i] << " " ;
//		cout << endl;
//		vector<int> L(n,0);
//		int it = 0;
//		int start = -1;
//		int last = 0;
//		while(true) {
//			while(who[it]==1) it = (it+1)%n;
//			
//			last = it;
//			L[it] = 0;
//			it = (it+n-1)%n;
//
//			while(who[it]==1) {
//				L[it] = L[(it+1)%n] + 1;
//				it = (it+n-1)%n;
//			}
//			if( last==start )
//				break;
//			if( start==-1 )
//				start = last; // zero's place
//			it = (last+1)%n;
//		}
//		i64 sum = 0;
//		FOR(i,0,n)
//			sum += L[i];
//		res[k] += sum;
//		Count[k] ++ ;
//	}
//	FOR(i,0,n) {
//		double ans = (1.0*res[i]) / (Count[i]*n*1.0);
//		printf("%.7lf\n",ans);
//	}
//	return 0;
//}